/*你正在玩一款电子游戏，在游戏中你需要保护城市免受怪物侵袭。给你一个 下标从 0 开始 且长度为 n 的整数数组 dist ,
* 其中 dist[i] 是第 i 个怪物与城市的 初始距离（单位：米）。怪物以 恒定 的速度走向城市。给你一个长度为 n 的整数
* 数组 speed 表示每个怪物的速度，其中 speed[i] 是第 i 个怪物的速度（单位：米/分）。怪物从 第0分钟 时开始移动。
* 你有一把武器，并可以 选择 在每一分钟的开始时使用，包括第 0 分钟。但是你无法在一分钟的中间使用武器。这种武器威力惊
* 人，一次可以消灭任一还活着的怪物。一旦任一怪物到达城市，你就输掉了这场游戏。如果某个怪物 恰 在某一分钟开始时到达城
* 市，这会被视为 输掉游戏，在你可以使用武器之前，游戏就会结束。返回在你输掉游戏前可以消灭的怪物的 最大 数量。如果你
* 可以在所有怪物到达城市前将它们全部消灭，返回n
*
* 输入：dist = [1,1,2,3], speed = [1,1,1,1]
* 输出：1
* 解释：
* 第 0 分钟开始时，怪物的距离是 [1,1,2,3]，你消灭了第一个怪物。
* 第 1 分钟开始时，怪物的距离是 [X,0,1,2]，你输掉了游戏。
* 你只能消灭 1 个怪物
* */

package Leetcode;

import java.util.*;

public class leetcode5801 {

    public static void main(String[] args) {

        leetcode5801 obj = new leetcode5801();
        int[] dist = {1, 3, 4};
        int[] speed = {1, 1, 1};
        System.out.println(obj.eliminateMaximum(dist, speed));
    }

    public int eliminateMaximum(int[] dist, int[] speed){

        int len = dist.length;
        int[] time = new int[len];
        for (int i = 0;i < len;i++){
            time[i] = (dist[i] - 1) / speed[i];
        }
        Arrays.sort(time);
        for (int i = 0;i < len;i++){
            if(time[i] < i){
                return i;
            }
        }
        return len;
    }
}
